View Issue Details

IDProjectCategoryView StatusLast Update
0001455K18X001.00 SKB SWANSWpublic2025-07-17 17:08
Reporter(ALTech) Wooshin Kang Assigned To(ALTech) Wooshin Kang Due Date2022-04-08 08:56
PriorityhighSeveritys6-featureReproducibilityalways
Status closedResolutionfixed 
Summary0001455: Implement API for hdmi.
DescriptionImplement API defined on BTF_API_LEVEL_6

[API]
1. DISPLAY_setColorSpace/DISPLAY_getColorSpace
2. DISPLAY_setBitDepth/DISPLAY_getBitDepth
3. DISPLAY_setHDCPEnable/DISPLAY_getHDCPState
4. DISPLAY_setHDCPVersion/DISPLAY_getHDCPVersion
 
<Setting value must be set on system property>
item property type explanation
EDID, vendor.skb.hdmi.edid, String, OK/NG, EDID Parsing status
HDCP, vendor.skb.hdmi.hdcp, String, HDCP_22/HDCP_14/HDCP_NONE, HDCP
Resolution, vendor.skb.hdmi.size, String, Horizontal X Vertical, resolution information
Color Space, vendor.skb.hdmi.cs, String, RGB/YUV_444/YUV_422/YUV_420, setted Color space
Color depth, vendor.skb.hdmi.bit, int, 12/10/8 settend color depth


[Work Branch]
BTF_API_LEVEL_6/bg5ct branch

[API define]

/vendor/skb/framework/hal/interface/btv_hal.h

     c5751cfc536[BTF-565] fixed : [HDMI] HDMI Status 저장 및 획득 add api 1. DISPLAY_setColorSpace/DISPLAY_getColorSpace 2. DISPLAY_setBitDepth/DISPLAY_getBitDepth 3. DISPLAY_setHDCPEnable/DISPLAY_getHDCPState 4. DISPLAY_setHDCPVersion/DISPLAY_getHDCPVersion Change-Id: If829ef2786491f629c304fc46809228a973abef2
 
[Target Date]
~ 5/13

Thanks.
Additional InformationSKB JIRA.
https://jira.skbroadband.com/browse/BTVSBOX-608
TagsNo tags attached.
Attach Tags

Users monitoring this issue

Activities

(ALTech) Wooshin Kang

2022-03-30 08:01

developer  

(ALTech) Wooshin Kang

2022-04-02 07:27

developer   ~0009790

Hi River,

I want to remind you for this ticket.

Thanks.

(SW) River Wong

2022-04-06 16:34

developer   ~0009821

Last edited: 2022-04-06 17:12

Hi Wooshin,

Thanks for your remind.
For those API, I have some questions:
1.DISPLAY_getHDCPVersion:
   Does DISPLAY_getHDCPVersion() mean to get the current TV supported HDCP version?
   Or DISPLAY_getHDCPVersion() mean to get the current authenticated HDCP version?
2.DISPLAY_getHDCPState:
   Does DISPLAY_getHDCPState() will reflect the real authentication status or just what DISPLAY_setHDCPEnable() had configured?
3.DISPLAY_getColorSpace:
   Does DISPLAY_getColorSpace() mean to get the current TV supported Color space of current resolution?
   Or DISPLAY_getColorSpace() mean to get the current configured Color space of current resolution?
4.DISPLAY_getBitDepth:
   Does DISPLAY_getBitDepth() mean to get the current TV supported bit depth of current resolution?
   Or DISPLAY_getBitDepth() mean to get the current configured bit depth of current resolution?

(ALTech) Wooshin Kang

2022-04-07 10:40

developer   ~0009831

1.DISPLAY_getHDCPVersion:
It should be returned set value by DISPLAY_setHDCPVersion ()

2.DISPLAY_getHDCPState:
It should be returned set value by DISPLAY_setHDCPEnable()

3.DISPLAY_getColorSpace:
It should be returned set value by DISPLAY_setColorSpace()

4.DISPLAY_getBitDepth:
It should be returned set value by DISPLAY_setBitDepth()

(SW) River Wong

2022-04-08 14:22

developer   ~0009845

Hi Wooshin,

So, if get func is called before set func, then get func will return fail -1. Is it ok?

(ALTech) Wooshin Kang

2022-04-11 07:28

developer   ~0009853

Hi River,

When set func is not called, return current value if you have any solution to read current status.

Thanks.

(ALTech) Wooshin Kang

2022-04-11 09:19

developer   ~0009856

Hi River,

Please fill below function also.

HRESULT AMP_SND_SetDelay(AMP_IN AMP_SND_PATH Path, AMP_APP_PARADELAY *stDelay);
HRESULT AMP_SND_GetDelay(AMP_IN AMP_SND_PATH Path, AMP_OUT AMP_APP_PARADELAY *stDelay);

You can find them in BTF_API_LEVEL_6-bg5ct-ua300 branch of vendor/synaptics/btv-hal-impl/synaptics.

Thanks.

(SW) River Wong

2022-04-11 11:02

developer   ~0009859

Hi Wooshin,

For get func, I am confused how to implement DISPLAY_getHDCPVersion() by rule 1 "It should be returned set value by DISPLAY_setHDCPVersion ()" and rule 2 "When set func is not called, return current value if you have any solution to read current status."
For exmpale, when I connect to a HDCP1.x only TV:
1.API called setHDCPVersion() with HDCP2.2, But TV only support HDCP1.X, The real HDCP status is HDCP1.x. But for rule 1 "It should be returned the set value by DISPLAY_setHDCPVersion ()", I should return HDCP2.2 (by store what setHDCPVersion() was set.) when getHDCPVersion() is called.
2.If no setHDCPVersion() is not set yet, I get the real HDCP status as HDCP1.x and return HDCP1.x when getHDCPVersion() is called.
For these two cases, it returns different result for DISPLAY_getHDCPVersion(). Do this is what you want?

(ALTech) Wooshin Kang

2022-04-11 13:46

developer   ~0009860

Hi river,

I have discussed with M/W ( SPTEK )

1. All get functions is able to be called before set functions. In this case, get function should return current set value on system.
2. In case of HDCP version, error value should be returned if not supported version.
3. Set function is fail, error code should be returned. And then get function should be return current set value.

Thanks

(SW) River Wong

2022-04-11 15:11

developer   ~0009861

Hi Wooshin,

OK, I got it. I will try to implement it as what you described.

For new API, "int AMIXER_SetAVOffset(AMIXER_HANDLE amixer, int offset)" and "int AMIXER_GetAVOffset(AMIXER_HANDLE amixer, int *offset)", do yo want me to use AMP_SND_SetDelay() and AMP_SND_GetDelay() to implement it? Is it suggested by Synaptics?
The AMP_SND_SetDelay() has to specified a PATH as first parameter. It usually is AMP_SND_PATH_71 for Speaker. But do I have to consider HDMI passthrough mode status and config HDMI delay instead of Speaker in passthrough mode being enabled case?

(ALTech) Wooshin Kang

2022-04-11 15:25

developer   ~0009862

Hi River,

Yes, you use iAMP_SND_SetDelay for these API.
It will be used for A/V synchronization of HDMI when audio out is set passthrough.

Thanks

(SW) River Wong

2022-04-12 16:23

developer   ~0009876

Hi Wooshin,

One more question:
If DISPLAY_setColorSpace() is set with AVP_COLOR_SPACE_AUTO or DISPLAY_setBitDepth() is set with AVP_BIT_DEPTH_AUTO, then should DISPLAY_getColorSpace() and DISPLAY_getBitDepth() returns AVP_COLOR_SPACE_AUTO /AVP_BIT_DEPTH_AUTO or the real colorspace/bitdepth which is selected by AUTO?

(ALTech) Wooshin Kang

2022-04-13 08:48

developer   ~0009878

Hi River,

After set func, should be returned AVP_COLOR_SPACE_AUTO otherwise real value should be returned.

Thanks.

(SW) River Wong

2022-04-14 14:30

developer   ~0009880

Hi Wooshin,

The current implement of DISPLAY_SetResolution(DISPLAY_HANDLE display, BTF_DISPLAY_Resolution resolution) will also choose the best color space and bit depth for resolution parameter (because Synaptics needs these three information to set resolution).
So, if DISPLAY_SetResolution(() is called first, I will also return AVP_COLOR_SPACE_AUTO for DISPLAY_getColorSpace() and AVP_BIT_DEPTH_AUTO for DISPLAY_getBitDepth(). Is it ok for you?

(ALTech) Wooshin Kang

2022-04-14 14:47

developer   ~0009881

Hi River,

Actually, It is relative with UI menu setting so, it will be tested with UI menu operation.
Because ui menu is not ready currently, do implement as your idea and then let's you debug when ui is ready.

Thanks.

(SW) River Wong

2022-04-18 15:29

developer   ~0009896

Hi Wooshin,

I commit the following Display APIs to bitbucket branch "soc-syna/BTF_API_LEVEL_6/bg5ct". I think SPtek can try them. If any problem found or need to be modified, then we can discuss the details.
1. DISPLAY_setColorSpace/DISPLAY_getColorSpace
2. DISPLAY_setBitDepth/DISPLAY_getBitDepth
3. DISPLAY_setHDCPEnable/DISPLAY_getHDCPState
4. DISPLAY_setHDCPVersion/DISPLAY_getHDCPVersion

commit 0a38ab3bc92e65f6ca95bd5b04e4b49db7b0eb5c (HEAD, soc-syna/BTF_API_LEVEL_6/bg5ct)
Author: river wong <river.wong@fii-foxconn.com>
Date: Mon Apr 18 15:18:41 2022 +0800

    [BTVSBOX-608] Implement Display APIs defined on BTF_API_LEVEL_6:
    1. DISPLAY_setColorSpace/DISPLAY_getColorSpace
    2. DISPLAY_setBitDepth/DISPLAY_getBitDepth
    3. DISPLAY_setHDCPEnable/DISPLAY_getHDCPState
    4. DISPLAY_setHDCPVersion/DISPLAY_getHDCPVersion

I will keep implementing BTF Level 6 AV Delay API. If it is finished, I will let you know.

(ALTech) Wooshin Kang

2022-04-19 08:46

developer  

(SW) River Wong

2022-04-20 09:23

developer   ~0009902

Hi Wooshin,

Could you confirm with SPtek if there are any other APIs or properties that needs to be implemented for BTF Level 6? Could they give all of it at one time?
Then we can discuss these requirements otherwise we may need to change the previous implemented APIs because the new added requirement.

(ALTech) Wooshin Kang

2022-04-20 12:03

developer   ~0009905

Hi River,
Owner of BTF is SKB and they are adding the requirement for BTF LEVEL 6. When i check with them, they said that there is no exact specification. I am sorry but there is possibility to add new requirement.

(SW) River Wong

2022-04-25 18:41

developer   ~0009929

Hi Wooshin,

I have one question about the properties. Except EDID, there are already BTF APIs to get HDCP/Resolution/ColorSpace/ColorDepth, Why they still need these properties?

(ALTech) Wooshin Kang

2022-04-26 10:11

developer   ~0009930

Hi River,

It will be used in log capture system of SKB.

Thanks.

(SW) River Wong

2022-04-26 10:49

developer   ~0009931

Hi Wooshin,

It seems all the properties can be implemented in Synaptics SDK because any set APIs should use Synaptics SDK to implement the function.
And other products like AI2 also needs these properties.
We recommend these properties to be imlpemented by Synaptics. Then all products which use Synaptics solution can all has these properties support.

(ALTech) Wooshin Kang

2022-04-26 14:07

developer   ~0009934

Hi River,

I will contact with skb manager to discuss your recommendation.

Thanks.

(ALTech) Wooshin Kang

2022-04-26 14:16

developer   ~0009935

Hi River,

SKB already did contact Synaptics and got a not good response from them.
Synaptics is saying these function should by implemented by product owner(manufacturing company).

Thanks.

(SW) River Wong

2022-04-27 14:06

developer   ~0009938

Hi Wooshin,

AudioDelay APIs are committed to branch BTF_API_LEVEL_6-bg5ct-ua300.
Please note, we only verify with YouTube video about the audio delay for 100ms and 200ms and result is OK. But for IPTV, we do not have av sync test video for IPTV, so we can not verify it.
Please let us know if you find any issue about these APIs.

commit 5f33b8096103344f171c1626c8257cb7c558d951 (HEAD, soc-syna/BTF_API_LEVEL_6-bg5ct-ua300)
Author: river wong <river.wong@fii-foxconn.com>
Date: Wed Apr 27 14:01:17 2022 +0800

    [BTF-595] Implement : AudioDelay API

(SW) River Wong

2022-04-27 14:43

developer   ~0009939

Hi Wooshin,

For EDID property, if HDMI cable is not connected, what String should I show?

(ALTech) Wooshin Kang

2022-04-28 13:21

developer   ~0009944

Hi River,

You can use "NG".

Thanks.

(ALTech) Wooshin Kang

2022-05-03 07:36

developer   ~0009954

Hi River,

When is target date to finish it ?,

Thanks.

(SW) River Wong

2022-05-03 13:43

developer   ~0009958

Hi Wooshin,

For some properties, I am still studying how to implement it (especially HDCP and EDID).
Could I know when the bitbucket branch for BTF level 6 will be created? (Because I think maybe I need to change code in syna-release/ampsdk for some properties.)

(ALTech) Wooshin Kang

2022-05-04 12:44

developer   ~0009960

Hi River,

SPETEK engineers are off until this week.
I can check it at next Monday.

Thanks.

(ALTech) Wooshin Kang

2022-05-09 10:02

developer   ~0009977

Hi River,

I did contact SPTEK.
They want you to make branch for your changing and then you inform to us about branch.
 And then you can change something in new branch.

Thanks.

(SW) River Wong

2022-05-09 11:19

developer   ~0009982

Hi Wooshin,

Thanks.
I found a way to implement the properties in BTF module only. So, it will not need to change code in Synaptics APIs.
I am now testing it, if no problem. I will commit the code today or tomorrow.
I will inform you after I commit it to bitbucket.

(SW) River Wong

2022-05-09 14:07

developer   ~0009983

Hi Wooshin,

I test all the properties except EDID NG case. Becaseu we do not TV with bad EDID. But I think if Synaptics API is implemeted correctly, it should be no problem for EDID NG case.
So, I committed the properties implementation to bitbucket.

commit 28d7f596ad88aeeba9cc75fdba58db04fc3f47cd (HEAD, soc-syna/BTF_API_LEVEL_6/bg5ct)
Author: river wong <river.wong@fii-foxconn.com>
Date: Mon May 9 14:02:44 2022 +0800

    [BTVSBOX-608] Add properties for HDMI.
    EDID: vendor.skb.hdmi.edid
    HDCP: vendor.skb.hdmi.hdcp
    Resolution: vendor.skb.hdmi.size
    Color Space: vendor.skb.hdmi.cs
    Color Depth: vendor.skb.hdmi.bit

(SW) River Wong

2022-05-09 14:08

developer   ~0009984

All requested APIs and Properties are implemented.

Issue History

Date Modified Username Field Change
2022-03-30 08:01 (ALTech) Wooshin Kang New Issue
2022-03-30 08:01 (ALTech) Wooshin Kang Status new => assigned
2022-03-30 08:01 (ALTech) Wooshin Kang Assigned To => (SW) River Wong
2022-03-30 08:01 (ALTech) Wooshin Kang File Added: 스크린샷 2022-03-30 오전 8.56.34.png
2022-03-30 08:01 (ALTech) Wooshin Kang Issue Monitored: (ALTech) SY Yoon
2022-03-30 08:02 (ALTech) Wooshin Kang Issue Monitored: (ALTech) Sangmin Choi
2022-03-30 09:04 (SW) River Wong Severity s2-severe => s6-feature
2022-04-02 07:27 (ALTech) Wooshin Kang Note Added: 0009790
2022-04-06 16:34 (SW) River Wong Note Added: 0009821
2022-04-06 16:34 (SW) River Wong Note Edited: 0009821
2022-04-06 17:12 (SW) River Wong Note Edited: 0009821
2022-04-07 10:40 (ALTech) Wooshin Kang Note Added: 0009831
2022-04-08 14:22 (SW) River Wong Note Added: 0009845
2022-04-11 07:28 (ALTech) Wooshin Kang Note Added: 0009853
2022-04-11 09:19 (ALTech) Wooshin Kang Note Added: 0009856
2022-04-11 11:02 (SW) River Wong Note Added: 0009859
2022-04-11 13:46 (ALTech) Wooshin Kang Note Added: 0009860
2022-04-11 15:11 (SW) River Wong Note Added: 0009861
2022-04-11 15:25 (ALTech) Wooshin Kang Note Added: 0009862
2022-04-12 16:23 (SW) River Wong Note Added: 0009876
2022-04-13 08:48 (ALTech) Wooshin Kang Note Added: 0009878
2022-04-14 14:30 (SW) River Wong Note Added: 0009880
2022-04-14 14:47 (ALTech) Wooshin Kang Note Added: 0009881
2022-04-18 15:29 (SW) River Wong Note Added: 0009896
2022-04-19 07:50 (ALTech) Wooshin Kang Description Updated
2022-04-19 07:52 (ALTech) Wooshin Kang Description Updated
2022-04-19 08:46 (ALTech) Wooshin Kang File Added: 스크린샷 2022-04-19 09.46.30.png
2022-04-20 09:23 (SW) River Wong Note Added: 0009902
2022-04-20 12:03 (ALTech) Wooshin Kang Note Added: 0009905
2022-04-25 18:41 (SW) River Wong Note Added: 0009929
2022-04-26 10:11 (ALTech) Wooshin Kang Note Added: 0009930
2022-04-26 10:49 (SW) River Wong Note Added: 0009931
2022-04-26 14:07 (ALTech) Wooshin Kang Note Added: 0009934
2022-04-26 14:16 (ALTech) Wooshin Kang Note Added: 0009935
2022-04-27 14:06 (SW) River Wong Note Added: 0009938
2022-04-27 14:43 (SW) River Wong Note Added: 0009939
2022-04-28 13:21 (ALTech) Wooshin Kang Note Added: 0009944
2022-05-03 07:36 (ALTech) Wooshin Kang Note Added: 0009954
2022-05-03 13:43 (SW) River Wong Note Added: 0009958
2022-05-04 12:44 (ALTech) Wooshin Kang Note Added: 0009960
2022-05-09 10:02 (ALTech) Wooshin Kang Note Added: 0009977
2022-05-09 11:19 (SW) River Wong Note Added: 0009982
2022-05-09 14:07 (SW) River Wong Note Added: 0009983
2022-05-09 14:08 (SW) River Wong Status assigned => resolved
2022-05-09 14:08 (SW) River Wong Resolution open => fixed
2022-05-09 14:08 (SW) River Wong Note Added: 0009984
2022-05-09 14:08 (SW) River Wong Assigned To (SW) River Wong => (ALTech) Wooshin Kang
2025-07-17 17:08 (PM) Sheila Tu Status resolved => closed